// app.js - 主应用逻辑

// 页面控制
const pages = {
  'home': document.getElementById('home-page'),
  'forum': document.getElementById('forum-page'),
  'chat': document.getElementById('chat-page'),
  'files': document.getElementById('files-page')
};

// 当前页面
window.currentPage = 'home';

// 切换页面
function showPage(pageId) {
  console.log(`切换到页面: ${pageId}`); // 添加日志

  // 隐藏所有页面
  Object.values(pages).forEach(page => {
    page.classList.add('d-none');
  });

  // 显示目标页面
  if (pages[pageId]) {
    pages[pageId].classList.remove('d-none');
    window.currentPage = pageId;

    // 更新导航栏激活状态
    document.querySelectorAll('.nav-link').forEach(navLink => {
      if (navLink.dataset.page === pageId) {
        navLink.classList.add('active');
      } else {
        navLink.classList.remove('active');
      }
    });

    // 触发页面切换事件
    document.dispatchEvent(new CustomEvent('pageChanged', { detail: { page: pageId } }));
  } else {
    console.error(`页面 ${pageId} 不存在`);
  }
}

// 初始化页面导航
function initNavigation() {
  console.log("初始化导航"); // 添加日志

  // 监听导航链接点击
  document.querySelectorAll('[data-page]').forEach(link => {
    link.addEventListener('click', (e) => {
      e.preventDefault();
      const pageId = link.dataset.page;
      console.log(`点击导航链接: ${pageId}`); // 添加日志
      showPage(pageId);
    });
  });

  // 监听页面导航事件
  document.addEventListener('navigateTo', (e) => {
    if (e.detail && e.detail.page) {
      console.log(`触发navigateTo事件: ${e.detail.page}`); // 添加日志
      showPage(e.detail.page);
    }
  });
}

// 检查用户是否为移动设备
function isMobileDevice() {
  return window.Utils.isMobileDevice();
}

// 调整UI以适应移动设备
function adjustForMobile() {
  if (isMobileDevice()) {
    // 可以在这里添加移动设备适配的代码
    // 例如调整元素大小、隐藏某些功能等
  }
}

// 初始化应用
function initApp() {
  console.log("初始化应用"); // 添加日志

  // 初始化导航
  initNavigation();

  // 显示默认页面
  showPage('home');

  // 初始化导航高亮
  const homeLink = document.querySelector('[data-page="home"]');
  if (homeLink) {
    homeLink.classList.add('active');
  } else {
    console.error("找不到首页导航链接");
  }

  // 调整移动设备UI
  adjustForMobile();
  window.addEventListener('resize', adjustForMobile);

  console.log('应用初始化完成');
}

// 当DOM加载完成后初始化应用
document.addEventListener('DOMContentLoaded', () => {
  // 确保Bootstrap完全加载
  setTimeout(initApp, 100);
});

// 导出函数供其他模块使用
window.App = {
  showPage,
  getCurrentPage: () => window.currentPage
}; 